1. Field of the Invention
The present invention relates, in general, to methods for real-time distribution of changing data and, in particular, to methods for sampling streaming data for real-time distribution on a network.
2. Description of the Related Art
Many data sources provide their subscribers with large volumes of time-sensitive content using high speed streaming data in one or more media. Such streaming data might include stock quotes, other financial quotes, news bulletins, real-time weather reports or other information items. Some streaming data might also include special purpose information items, such as real-time updates to locations of objects in a position tracking system. In the general case, a data source provides one or more types of streaming media content representing information provided by that data source, where the streaming media content might represent, at least in part, a stream of updates about that information. The media can be streaming media as is narrowly defined in some contexts to be a continuous flow without a set ending point, but as used herein simply refers to data that is supplied as a flow, not necessarily continuous, that does not necessarily have a defined end and cannot be entirely obtained ahead of time. Thus, updates to one datum that is updated only once very few hours might still be treated as a stream of data.
The distribution network used to transmit the information from the data source to the users of the information often has a limited capacity (e.g., bandwidth-limited channels) that might prevent every user from getting every bit of the data provided from the data source. For example, quote data just from transactions of one stock exchange might comprise thousands of quotes, changing many times per minute, resulting in a multi-megabyte per second stream. Often, many portions of the distribution network cannot provide the bandwidth to pass that stream for real-time updates to the information. For example, if the network spans a continent, connects continents (such as North America and Asia), connects countries (such as the United States and India) or links within a poorly developed geographic region, bandwidth in some portions of the network might be extremely limited or too costly to fully exploit. Attempts to directly distribute streaming data on a wide area network can overwhelm the wide area network, resulting in a degradation of the quality (e.g., the representative nature and relevance) and timeliness of the distribution. For example, if quote data, updated once per minute, were delayed by ten minutes due to network congestion, the usefulness of the data stream would be seriously degraded.
Another problem with typical bandwidth-limited networks is that their capacity changes over time, resulting in a dynamic environment that needs to be considered. Such a dynamic environment further complicates efforts to distribute streaming data on a network.
Still needed in the field, therefore, is a method for distributing streaming data on a network that does not overwhelm networks of limited capacity, yet provides a timely and high quality distribution of periodically updated information items, in relatively static environments and dynamic environments.